#ifndef KTABLEVIEW_H
#define KTABLEVIEW_H


#include <QTableView>
#include "ktableheaderview.h"

namespace kdk {

/**
 * @brief 继承qtbaleview
 * @since 2.5
 */
class KTableViewPrivate;

class KTableView :public QTableView
{
    Q_OBJECT
public:
    KTableView(QWidget *parent = nullptr);

    /**
     * @brief 设置水平标题
     * @param list
     */
    void setHorizontalTitle(QStringList list);

    /**
     * @brief 返回水平标题栏
     * @return
     */
    KTableHeaderView* headerView();

    /**
     * @brief 返回所有选中item的行索引
     * @return
     */
    QList<int> selectList();

Q_SIGNALS:
    void hoverIndexChanged(QModelIndex index);

protected:
    void mouseMoveEvent(QMouseEvent *event);
    bool eventFilter(QObject *object, QEvent *event);

private:
    Q_DECLARE_PRIVATE(KTableView)
    KTableViewPrivate *const d_ptr;

};
}
#endif // KTABLEVIEW_H

